The relatively wide bandwidth for distributing signals on a cable television network can be used for purposes other than simply distributing broadcast television signals. One of the ideas currently being developed and tested will permit subscribers to interact with a television program that is being viewed. For example, using a remote control as an input device, the subscriber will be able to enter a vote on some issue or current topic. This system will also enable viewers of a show to determine how the plot of the show develops by voting for one of several alternatives. Another use of such a system will be to enable a user to select pay-for-view movies, on demand, for viewing when the subscriber chooses, rather than in accord with a fixed timetable.
An interactive television interface will be required for input of a user selection, since a conventional television does not have the capability to produce a signal for transmission over the cable network to the cable source. Because of its typical position atop a television receiver, such an interface is referred to as a "set-top box."
With the advent of interactive television, it is likely that software application programs will be developed to implement an on-screen graphic interface for prompting input by the viewer. Other types of software applications employing graphic user interfaces might also be run on a set-top box. It is likely that the viewer will be given more control over the nature of the signal displayed on the screen, including the ability to modify the signal or to combine it with other signals such as those generated by a computer or other digital video source in a particular manner. Conventional television receivers do not currently have the capability to combine a broadcast signal from a television network (or the signal from a laser disc player, a digital video/versatile disc (DVD) player, or video recorder) with a digital graphics signal from a computer to produce a composite image that can be displayed on the television screen. To combine such signals, a set-top box will be required that provides for composite display of various video and digital graphic signals having different formats, in an appropriate format for input to the television receiver.
One of the problems that must be addressed by such a set-top box is maintaining synchronization between a broadcast (or other video) signal that is being received and a digital graphic signal being produced by an application program executed within the set-top box or by an attached personal computer. When these two signals are combined to produce an image displayed on the television receiver or video monitor, the appropriate synchronization signals must be provided to maintain horizontal and vertical synchronization of the component images that comprise the composite image, in conformance with the National Television System Committee (NTSC) standard used for television in the U.S. (or the PAL or SECAM systems used for television signal broadcasts in other countries--as appropriate).
Scaling the video portion of a composite signal so that it occupies only a portion of the entire screen raises some problems in maintaining synchronization. The composition of scaled video with computer generated graphics requires that video be digitized and captured. For example, if the video is scaled to one-half its original full screen size, the full time needed to generate an entire field is required to acquire a field of the video image, but only one-half that time is required to display the scaled image in the composite field. Accordingly, an intermediate storage for the video image is required. As shown in FIG. 3 (prior art), current techniques for producing and maintaining synchronization between a scaled video signal and a digital image require a substantial amount of video memory in the form of a random access memory (RAM) ring field buffer 112 that is used for storing full fields of the broadcast signal, which are captured from the broadcast signal input to an NTSC decoder 100. A local oscillator 102 supplies a timing signal to NTSC decoder 100. Appropriate data and synchronization signals generated by decoder in response to the timing signal are supplied to a video capture engine (VCE) 104, to maintain synchronization of each captured video field. On the output side of this system, a local oscillator 110 supplies a timing signal to an NTSC encoder 108.
There are actually two cases that are applicable to this system. In the first case, local oscillator 110 is not synchronized with local oscillator 102; for this case, four fields of digital data produced by capturing images from the broadcast video signal must be stored in the RAM ring field buffer at one time, so that the data for one field can be read from memory as the data for another field are being stored in memory. To form the composite image, the data for one field are read from memory and combined with the digital image produced by the application program, using a compositing module 106. The composite signal is output through NTSC encoder 108. Since local oscillator 102 and local oscillator 110 are not in synchronization, four fields must be stored in RAM ring field buffer 112 to ensure that the captured video data are available when required, to avoid dropping or repeating a frame in the NTSC output signal. In the second case, only two fields must be stored in the RAM ring field buffer to avoid this problem, since the two local oscillators are locked in synchronization. However, in regard to either of these prior art approaches, it should be noted that 196,608 bytes of RAM are required per field stored (i.e., for 640.times.240 pixel fields in YCrCb 4:2:2 format), which is prohibitively expensive in a set-top box. A lower cost method is thus needed to maintain synchronization between the disparate signals in producing an output signal used to drive the television receiver.
Some applications require that graphics on the screen remain stable when the user changes channels. For example, image stability is particularly important when the composite image includes a scaled window of video surrounded by computer generated graphics, such as an electronic program guide or menu that displays the video signal for different selected channels in a window as the user moves a cursor over the channels listed in the graphical representation of the program guide. Each time that the user thus selects a different channel to be displayed in the window on the image with the cursor, the graphical program guide should remain stable while the video in the window changes. Short term instability of the video in the window is of less concern. Thus, the output video stream input to the television receiver must be asynchronous to the input video stream just after the change in video signals initially occurs, but then must stabilize within a second or two and synchronize with the input signal.
However, other applications require that the image on the television screen become stable as quickly as possible when the user changes channels, such as when watching full-screen video with little or no graphics composited in the output signal to the receiver. To satisfy this requirement, the output video signal must be immediately synchronous with the input video signal.
Yet other applications should preferably avoid slipping (i.e., losing) frames from the input video signal, thus implying that the output video stream also be synchronous with the input video stream. To satisfy these diverse synchronization requirements, the system used to composite signals and control synchronization between the input and output signals must permit selection of an appropriate model meeting the needs of each application running on the set-top box. Currently, no synchronization control of sufficiently low cost is available to meet these requirements.